/*********************************************************
 *  Copyright (c) 2011 by Web Information Systems (WIS) Group, 
 *  Delft University of Technology.
 *  Qi Gao, http://wis.ewi.tudelft.nl/index.php/home-qi-gao
 *  
 *  Some rights reserved.
 *
 *  Contact: q.gao@tudelft.nl
 *
 **********************************************************/
package org.persweb.genius;

import org.persweb.genius.model.Filter;
import org.persweb.genius.model.Profile;

/**
 * @author Qi Gao <a href="mailto:q.gao@tudelft.nl">q.gao@tudelft.nl</a>
 * @version created on Jun 21, 2011 5:57:22 PM
 */
public interface ModelingStrategy {
	
	/**
	 * construct a profile with specified setting
	 * @param conf the configuration for the profile construction
	 * @param filter
	 * @return
	 */
	public Profile getProfile(GeniusConfiguration conf, Filter filter);
	
	/**
	 * @return the configuration for the profile construction
	 */
	public GeniusConfiguration getConfiguration();
	
	/**
	 * @param conf the configuration for the profile construction
	 */
	public void setConfiguration(GeniusConfiguration conf);
	
	/**
	 * @return the filter for the modeling strategy
	 */
	public Filter getFilter();
	
	/**
	 * @param filter the filter for the modeling strategy
	 */
	public void setFilter(Filter filter);

}
